package com.dqyz.busi.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dqyz.common.annotation.Excel;
import com.dqyz.common.core.domain.BaseEntity;

/**
 * 赛事管理对象 rac_competition
 * 
 * @author wangguan
 * @date 2024-09-27
 */
public class Competition extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 赛事名称 */
    @Excel(name = "赛事名称")
    private String competitionName;

    /** 报名开始时间 */
    private Date registrationStartTime;

    /** 报名结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registrationEndTime;

    /** 赛事Banner图片URL */
    @Excel(name = "赛事Banner图片URL")
    private String bannerUrl;

    /** 比赛开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "比赛开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date raceStartTime;

    /** 预计比赛结束时间 */
    private Date expectedEndTime;

    /** 赛事是否结束 */
    @Excel(name = "赛事是否结束")
    private Long isFinished;

    /** 赛事介绍 */
    @Excel(name = "赛事介绍")
    private String introduction;

    /** 赛事地点经度 */
    private BigDecimal locationLongitude;

    /** 赛事地点纬度 */
    private BigDecimal locationLatitude;

    /** 赛事详细地址 */
    @Excel(name = "赛事详细地址")
    private String address;

    /** 是否发布 */
    @Excel(name = "是否发布")
    private Long isPublished;

    /** 排序权重 */
    private Long sortWeight;

    /** 关联赛事方案ID */
    @Excel(name = "关联赛事方案ID")
    private Long raceSchemaId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCompetitionName(String competitionName) 
    {
        this.competitionName = competitionName;
    }

    public String getCompetitionName() 
    {
        return competitionName;
    }
    public void setRegistrationStartTime(Date registrationStartTime) 
    {
        this.registrationStartTime = registrationStartTime;
    }

    public Date getRegistrationStartTime() 
    {
        return registrationStartTime;
    }
    public void setRegistrationEndTime(Date registrationEndTime) 
    {
        this.registrationEndTime = registrationEndTime;
    }

    public Date getRegistrationEndTime() 
    {
        return registrationEndTime;
    }
    public void setBannerUrl(String bannerUrl) 
    {
        this.bannerUrl = bannerUrl;
    }

    public String getBannerUrl() 
    {
        return bannerUrl;
    }
    public void setRaceStartTime(Date raceStartTime) 
    {
        this.raceStartTime = raceStartTime;
    }

    public Date getRaceStartTime() 
    {
        return raceStartTime;
    }
    public void setExpectedEndTime(Date expectedEndTime) 
    {
        this.expectedEndTime = expectedEndTime;
    }

    public Date getExpectedEndTime() 
    {
        return expectedEndTime;
    }
    public void setIsFinished(Long isFinished) 
    {
        this.isFinished = isFinished;
    }

    public Long getIsFinished() 
    {
        return isFinished;
    }
    public void setIntroduction(String introduction) 
    {
        this.introduction = introduction;
    }

    public String getIntroduction() 
    {
        return introduction;
    }
    public void setLocationLongitude(BigDecimal locationLongitude) 
    {
        this.locationLongitude = locationLongitude;
    }

    public BigDecimal getLocationLongitude() 
    {
        return locationLongitude;
    }
    public void setLocationLatitude(BigDecimal locationLatitude) 
    {
        this.locationLatitude = locationLatitude;
    }

    public BigDecimal getLocationLatitude() 
    {
        return locationLatitude;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setIsPublished(Long isPublished) 
    {
        this.isPublished = isPublished;
    }

    public Long getIsPublished() 
    {
        return isPublished;
    }
    public void setSortWeight(Long sortWeight) 
    {
        this.sortWeight = sortWeight;
    }

    public Long getSortWeight() 
    {
        return sortWeight;
    }
    public void setRaceSchemaId(Long raceSchemaId) 
    {
        this.raceSchemaId = raceSchemaId;
    }

    public Long getRaceSchemaId() 
    {
        return raceSchemaId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("competitionName", getCompetitionName())
            .append("registrationStartTime", getRegistrationStartTime())
            .append("registrationEndTime", getRegistrationEndTime())
            .append("bannerUrl", getBannerUrl())
            .append("raceStartTime", getRaceStartTime())
            .append("expectedEndTime", getExpectedEndTime())
            .append("isFinished", getIsFinished())
            .append("introduction", getIntroduction())
            .append("locationLongitude", getLocationLongitude())
            .append("locationLatitude", getLocationLatitude())
            .append("address", getAddress())
            .append("isPublished", getIsPublished())
            .append("sortWeight", getSortWeight())
            .append("raceSchemaId", getRaceSchemaId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
